1. Field of the Invention
The present invention relates to a system and method for adapting a three-dimensional object manipulator in a three-dimensional scene configured with a viewport.
2. Description of the Related Art
Systems are known with which to create and interact with three-dimensional objects or groups thereof. Artists may use such systems to create and interact with a character object, or architects may use such systems to create and interact with building objects, or engineers may use such systems to create and interact with machinery and/or parts objects. In each instance, the above interactive process of creating and interacting with three-dimensional objects or groups thereof is known to those skilled in the art as 3D object modeling. An example of such a system is 3D Studio Max™ provided by Discreet Inc. of San Francisco, Calif.
At any time during the modeling process, interaction with 3D objects is performed by way of one or a plurality of manipulators, which may be centred upon an object geometric centre also known to those skilled in the art as the object pivot, having a geometry mirroring the object geometric axes. The interaction includes selecting a manipulator or portion thereof with manually operated input means, wherein a user then imparts two-dimensional movement to the means. The two-dimensional input data is then processed by the system for translating, rotating, scaling or a combination thereof of the object according to the selected manipulator geometry: the 3D object is thus transformed within the scene. All of the above modeling process is performed through a viewport of the system, which is a two-dimensional window into the three-dimensional volume, or scene, within which the object is defined and represented and onto which the portion of the scene intersecting the viewport frustum is rasterized.
In known systems, a manipulator's respective geometry is tied to an object geometric axis. This constraining is advantageous to the user because it allows for the accurate representation of the object attitude, or pose, within the scene, such that the user may accurately transform the object according to the required modeling output. A problem however arises out of the fixed viewing axis of the viewport frustum, in that certain interactions with the object may result in the transformation of the object, e.g. its geometry, whereby the three-dimensional axes of the object become oriented away from the viewing axis or, alternatively, the object becomes positioned behind another object within the scene along the viewing axis. The resulting updated rasterization of the manipulator geometry thus becomes either confusing to the user or altogether obscured within the viewport.
Having regard to the complexity of certain scenes numbering hundred or even thousands of objects, as well as the modeled intricacy of some objects, performing such adjustments to facilitate manipulator selection for object interaction severely hampers a user's workflow and thus unnecessarily increases the cost of modeling 3D object.